<?php
$pastaCss = "css/";
$pastaJs = "js/";
$arquivoMinCss = "_____min";
$arquivoMinJs = "_____min";
$arquivoIe= "____internet_explorer";

if ($_SERVER["SERVER_NAME"] != "localhost") {
    echo utf8_decode("Erro de permissão");
} else {
    function compress($buffer, $type = 'js') {
        // remove tabs, spaces, newlines, etc.
        $buffer = str_replace(array(), '', $buffer);
        $buffer = ($type == 'js') ? str_replace(array('  ', '    ', '    '), '', $buffer) : str_replace(array("\r\n", "\r", "\n", "\t"), '', $buffer);
        return $buffer;
    }

    $escreveJs = "";
    $escreveCss = "";
    $filejs = $pastaJs .$arquivoMinJs. ".js";
    $filecss = $pastaCss .$arquivoMinCss . ".css";
    try {
        //tratamento JS
        foreach (glob($pastaJs . "*.js") as $js) {
            if ($js != $pastaJs .$arquivoMinJs. '.js' && $js != $pastaJs . $arquivoIe .'.js') {
                $jss = trim($js);
                if (file_exists($jss)) {
                    $escreveJs .= "\n/*" . $jss . "*/\n";
                    $escreveJs .= file_get_contents($jss);
                }
            }
        }

        $escreveJs = utf8_decode(compress($escreveJs));
        $fp = fopen($filejs, 'w+');
        fwrite($fp, $escreveJs);
        fclose($fp);
        echo "arquivo " . $filejs . " gerado com sucesso.<br>";

        //Tratamento CSS
        foreach (glob($pastaCss ."*.css") as $css) {
            if ($css != $pastaCss .$arquivoMinCss. '.css' && $css != $pastaCss . $arquivoIe .'.css') {
                $css = trim($css);
                if (file_exists($jss)) {
                    $escreveCss .= "/*" . $css . "*/";
                    $escreveCss .= file_get_contents($css);
                }
            }
        }

        $escreveCss = compress($escreveCss, 'css');
        $fp = fopen($filecss, 'w+');
        fwrite($fp, $escreveCss);
        fclose($fp);
        echo "arquivo " . $filecss . " gerado com sucesso.";
        echo utf8_decode("<br/><br/><span style='color:#f00'>ATENÇÃO - Cuidado com a ordenação e nomenclatura de arquivos, pois os mesmos são gerados na ordem.</span>");
    } catch (Exception $e) {
        echo "Falha ao gerar Arquivo: " . $e->getMessage();
    }
}